diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a8a101ba3..431a7ff9c 100755
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -63,7 +63,7 @@
android:largeHeap="true">
@@ -292,7 +292,7 @@
android:resource="@xml/provider_paths"/>
-
+
calls = LinphoneUtils.getCalls(LinphoneManager.getLc());
- for (Call call : calls) {
+ for (Call call : LinphoneManager.getLc().getCalls()) {
if (State.IncomingReceived == call.getState()) {
mCall = call;
break;
diff --git a/app/src/main/java/org/linphone/call/CallManager.java b/app/src/main/java/org/linphone/call/CallManager.java
index 1a868fe29..956c90537 100644
--- a/app/src/main/java/org/linphone/call/CallManager.java
+++ b/app/src/main/java/org/linphone/call/CallManager.java
@@ -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.
*/
-import org.linphone.BandwidthManager;
import org.linphone.LinphoneManager;
import org.linphone.core.Address;
import org.linphone.core.Call;
diff --git a/app/src/main/java/org/linphone/call/CallOutgoingActivity.java b/app/src/main/java/org/linphone/call/CallOutgoingActivity.java
index 0b91e8455..191722e33 100644
--- a/app/src/main/java/org/linphone/call/CallOutgoingActivity.java
+++ b/app/src/main/java/org/linphone/call/CallOutgoingActivity.java
@@ -36,11 +36,12 @@ import android.widget.TextView;
import android.widget.Toast;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
-import org.linphone.LinphoneUtils;
+import org.linphone.settings.LinphonePreferences;
+import org.linphone.utils.ImageUtils;
+import org.linphone.utils.LinphoneUtils;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
-import org.linphone.activities.LinphoneGenericActivity;
+import org.linphone.LinphoneActivity;
+import org.linphone.utils.LinphoneGenericActivity;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.LinphoneContact;
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
if (LinphoneManager.getLcIfManagerNotDestroyedOrNull() != null) {
- List calls = LinphoneUtils.getCalls(LinphoneManager.getLc());
- for (Call call : calls) {
+ for (Call call : LinphoneManager.getLc().getCalls()) {
State cstate = call.getState();
if (State.OutgoingInit == cstate || State.OutgoingProgress == cstate
|| State.OutgoingRinging == cstate || State.OutgoingEarlyMedia == cstate) {
@@ -184,7 +184,7 @@ public class CallOutgoingActivity extends LinphoneGenericActivity implements OnC
Address address = mCall.getRemoteAddress();
LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(address);
if (contact != null) {
- LinphoneUtils.setImagePictureFromUri(this, contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
+ ImageUtils.setImagePictureFromUri(this, contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
name.setText(contact.getFullName());
} else {
name.setText(LinphoneUtils.getAddressDisplayName(address));
diff --git a/app/src/main/java/org/linphone/call/CallVideoFragment.java b/app/src/main/java/org/linphone/call/CallVideoFragment.java
index ac8f119d5..e6aafbdfd 100644
--- a/app/src/main/java/org/linphone/call/CallVideoFragment.java
+++ b/app/src/main/java/org/linphone/call/CallVideoFragment.java
@@ -27,7 +27,6 @@ import android.view.GestureDetector.OnDoubleTapListener;
import android.view.GestureDetector.OnGestureListener;
import android.view.LayoutInflater;
import android.view.MotionEvent;
-import android.view.Surface;
import android.view.TextureView;
import android.view.View;
import android.view.View.OnTouchListener;
@@ -35,11 +34,10 @@ import android.view.ViewGroup;
import android.widget.RelativeLayout;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.LinphoneService;
-import org.linphone.LinphoneUtils;
+import org.linphone.utils.LinphoneUtils;
import org.linphone.R;
-import org.linphone.compatibility.Compatibility;
import org.linphone.compatibility.CompatibilityScaleGestureDetector;
import org.linphone.compatibility.CompatibilityScaleGestureListener;
import org.linphone.core.Call;
diff --git a/app/src/main/java/org/linphone/chat/ChatCreationFragment.java b/app/src/main/java/org/linphone/chat/ChatCreationFragment.java
index 6afce5a1c..ba8a1cd7e 100644
--- a/app/src/main/java/org/linphone/chat/ChatCreationFragment.java
+++ b/app/src/main/java/org/linphone/chat/ChatCreationFragment.java
@@ -24,8 +24,6 @@ import android.os.Bundle;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
-import android.text.Editable;
-import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -40,9 +38,9 @@ import android.widget.Switch;
import android.widget.TextView;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.contacts.ContactAddress;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.ContactsUpdatedListener;
@@ -54,7 +52,7 @@ import org.linphone.core.Core;
import org.linphone.core.ProxyConfig;
import org.linphone.fragments.FragmentsAvailable;
import org.linphone.mediastream.Log;
-import org.linphone.ui.ContactSelectView;
+import org.linphone.views.ContactSelectView;
import java.util.ArrayList;
import java.util.List;
diff --git a/app/src/main/java/org/linphone/chat/ChatEventsAdapter.java b/app/src/main/java/org/linphone/chat/ChatEventsAdapter.java
index a1bf7f4ae..20f2cc520 100644
--- a/app/src/main/java/org/linphone/chat/ChatEventsAdapter.java
+++ b/app/src/main/java/org/linphone/chat/ChatEventsAdapter.java
@@ -45,9 +45,10 @@ import android.widget.ImageView;
import android.widget.RelativeLayout;
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.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.compatibility.Compatibility;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.LinphoneContact;
@@ -58,9 +59,9 @@ import org.linphone.core.Content;
import org.linphone.core.EventLog;
import org.linphone.core.LimeState;
import org.linphone.mediastream.Log;
-import org.linphone.ui.ContactAvatar;
-import org.linphone.ui.SelectableAdapter;
-import org.linphone.ui.SelectableHelper;
+import org.linphone.views.ContactAvatar;
+import org.linphone.utils.SelectableAdapter;
+import org.linphone.utils.SelectableHelper;
import java.io.File;
import java.io.FileNotFoundException;
@@ -323,10 +324,10 @@ public class ChatEventsAdapter extends SelectableAdapter {
if (mContext.getPackageManager().checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, mContext.getPackageName()) == PackageManager.PERMISSION_GRANTED) {
v.setEnabled(false);
String filename = message.getFileTransferInformation().getName();
- File file = new File(LinphoneUtils.getStorageDirectory(mContext), filename);
+ File file = new File(FileUtils.getStorageDirectory(mContext), filename);
int prefix = 1;
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);
prefix += 1;
}
@@ -537,9 +538,9 @@ public class ChatEventsAdapter extends SelectableAdapter {
}
if (appData != null) {
- LinphoneUtils.scanFile(message);
- holder.fileName.setText(LinphoneUtils.getNameFromFilePath(appData));
- if (LinphoneUtils.isExtensionImage(appData)) {
+ FileUtils.scanFile(message);
+ holder.fileName.setText(FileUtils.getNameFromFilePath(appData));
+ if (FileUtils.isExtensionImage(appData)) {
holder.messageImage.setVisibility(View.VISIBLE);
loadBitmap(appData, holder.messageImage);
holder.messageImage.setTag(appData);
@@ -581,7 +582,7 @@ public class ChatEventsAdapter extends SelectableAdapter {
path = params[0];
Bitmap bm = null;
Bitmap thumbnail = null;
- if (LinphoneUtils.isExtensionImage(path)) {
+ if (FileUtils.isExtensionImage(path)) {
if (path.startsWith("content")) {
try {
bm = MediaStore.Images.Media.getBitmap(mContext.getContentResolver(), Uri.parse(path));
diff --git a/app/src/main/java/org/linphone/chat/ChatListFragment.java b/app/src/main/java/org/linphone/chat/ChatListFragment.java
index 0059f3883..21679219a 100644
--- a/app/src/main/java/org/linphone/chat/ChatListFragment.java
+++ b/app/src/main/java/org/linphone/chat/ChatListFragment.java
@@ -33,7 +33,7 @@ import android.widget.RelativeLayout;
import org.linphone.LinphoneManager;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.ContactsUpdatedListener;
import org.linphone.core.ChatMessage;
@@ -45,7 +45,7 @@ import org.linphone.core.EventLog;
import org.linphone.core.ProxyConfig;
import org.linphone.fragments.FragmentsAvailable;
import org.linphone.mediastream.Log;
-import org.linphone.ui.SelectableHelper;
+import org.linphone.utils.SelectableHelper;
import java.io.File;
import java.util.ArrayList;
diff --git a/app/src/main/java/org/linphone/chat/ChatRoomViewHolder.java b/app/src/main/java/org/linphone/chat/ChatRoomViewHolder.java
index fd021e260..5b65d19ae 100644
--- a/app/src/main/java/org/linphone/chat/ChatRoomViewHolder.java
+++ b/app/src/main/java/org/linphone/chat/ChatRoomViewHolder.java
@@ -29,10 +29,8 @@ import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
-import org.linphone.LinphoneManager;
-import org.linphone.LinphoneUtils;
+import org.linphone.utils.LinphoneUtils;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.LinphoneContact;
import org.linphone.core.Address;
@@ -41,7 +39,7 @@ import org.linphone.core.ChatRoom;
import org.linphone.core.ChatRoomCapabilities;
import org.linphone.core.Content;
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 {
private Bitmap mDefaultBitmap;
diff --git a/app/src/main/java/org/linphone/chat/ChatRoomsAdapter.java b/app/src/main/java/org/linphone/chat/ChatRoomsAdapter.java
index 7653da095..02d218d2f 100644
--- a/app/src/main/java/org/linphone/chat/ChatRoomsAdapter.java
+++ b/app/src/main/java/org/linphone/chat/ChatRoomsAdapter.java
@@ -26,8 +26,8 @@ import android.view.ViewGroup;
import org.linphone.LinphoneManager;
import org.linphone.core.ChatRoom;
-import org.linphone.ui.SelectableAdapter;
-import org.linphone.ui.SelectableHelper;
+import org.linphone.utils.SelectableAdapter;
+import org.linphone.utils.SelectableHelper;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/app/src/main/java/org/linphone/chat/DeviceAdapter.java b/app/src/main/java/org/linphone/chat/DeviceAdapter.java
index c08547aa4..cd76af66c 100644
--- a/app/src/main/java/org/linphone/chat/DeviceAdapter.java
+++ b/app/src/main/java/org/linphone/chat/DeviceAdapter.java
@@ -25,7 +25,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
-import org.linphone.LinphoneUtils;
+import org.linphone.utils.LinphoneUtils;
import org.linphone.R;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.LinphoneContact;
@@ -33,7 +33,7 @@ import org.linphone.core.Address;
import org.linphone.core.ChatRoomSecurityLevel;
import org.linphone.core.Participant;
import org.linphone.core.ParticipantDevice;
-import org.linphone.ui.ContactAvatar;
+import org.linphone.views.ContactAvatar;
import java.util.ArrayList;
import java.util.List;
diff --git a/app/src/main/java/org/linphone/chat/DevicesFragment.java b/app/src/main/java/org/linphone/chat/DevicesFragment.java
index 7fb66d548..252d9e2ab 100644
--- a/app/src/main/java/org/linphone/chat/DevicesFragment.java
+++ b/app/src/main/java/org/linphone/chat/DevicesFragment.java
@@ -30,9 +30,9 @@ import android.widget.ImageView;
import android.widget.TextView;
import org.linphone.LinphoneManager;
-import org.linphone.LinphoneUtils;
+import org.linphone.utils.LinphoneUtils;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.LinphoneContact;
import org.linphone.core.Address;
diff --git a/app/src/main/java/org/linphone/chat/GroupChatFragment.java b/app/src/main/java/org/linphone/chat/GroupChatFragment.java
index 6549fde01..60d466ac6 100644
--- a/app/src/main/java/org/linphone/chat/GroupChatFragment.java
+++ b/app/src/main/java/org/linphone/chat/GroupChatFragment.java
@@ -56,13 +56,12 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
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.activities.LinphoneActivity;
-import org.linphone.assistant.AssistantActivity;
-import org.linphone.compatibility.Compatibility;
+import org.linphone.LinphoneActivity;
import org.linphone.contacts.ContactAddress;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.ContactsUpdatedListener;
@@ -82,7 +81,7 @@ import org.linphone.core.Participant;
import org.linphone.core.ParticipantDevice;
import org.linphone.core.Reason;
import org.linphone.mediastream.Log;
-import org.linphone.ui.SelectableHelper;
+import org.linphone.utils.SelectableHelper;
import java.io.File;
import java.util.ArrayList;
@@ -276,13 +275,13 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
if (getArguments() != null) {
String fileSharedUri = getArguments().getString("fileSharedUri");
if (fileSharedUri != null) {
- if (LinphoneUtils.isExtensionImage(fileSharedUri)) {
+ if (FileUtils.isExtensionImage(fileSharedUri)) {
addImageToPendingList(fileSharedUri);
} else {
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/")) {
- fileSharedUri = LinphoneUtils.getCVSPathFromLookupUri(fileSharedUri).toString();
+ fileSharedUri = FileUtils.getCVSPathFromLookupUri(fileSharedUri).toString();
}
addFileToPendingList(fileSharedUri);
}
@@ -350,14 +349,14 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
String fileToUploadPath = null;
if (data != null && data.getData() != null) {
if (data.getData().toString().contains("com.android.contacts/contacts/")) {
- if (LinphoneUtils.getCVSPathFromLookupUri(data.getData().toString()) != null) {
- fileToUploadPath = LinphoneUtils.getCVSPathFromLookupUri(data.getData().toString()).toString();
+ if (FileUtils.getCVSPathFromLookupUri(data.getData().toString()) != null) {
+ fileToUploadPath = FileUtils.getCVSPathFromLookupUri(data.getData().toString()).toString();
} else {
//TODO Error
return;
}
} else {
- fileToUploadPath = LinphoneUtils.getRealPathFromURI(getActivity(), data.getData());
+ fileToUploadPath = FileUtils.getRealPathFromURI(getActivity(), data.getData());
}
if (fileToUploadPath == null) {
fileToUploadPath = data.getData().toString();
@@ -367,12 +366,12 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
}
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/")) {
- fileToUploadPath = LinphoneUtils.getCVSPathFromLookupUri(fileToUploadPath).toString();
+ fileToUploadPath = FileUtils.getCVSPathFromLookupUri(fileToUploadPath).toString();
}
- if (LinphoneUtils.isExtensionImage(fileToUploadPath)) {
+ if (FileUtils.isExtensionImage(fileToUploadPath)) {
addImageToPendingList(fileToUploadPath);
} else {
addFileToPendingList(fileToUploadPath);
@@ -381,7 +380,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
super.onActivityResult(requestCode, resultCode, data);
}
} else {
- if (LinphoneUtils.isExtensionImage(mImageToUploadUri.getPath())) {
+ if (FileUtils.isExtensionImage(mImageToUploadUri.getPath())) {
addImageToPendingList(mImageToUploadUri.getPath());
}
}
@@ -768,7 +767,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
String files[] = savedInstanceState.getStringArray("Files");
if (files.length > 0) {
for (String file : files) {
- if (LinphoneUtils.isExtensionImage(file)) {
+ if (FileUtils.isExtensionImage(file)) {
addImageToPendingList(file);
} else {
addFileToPendingList(file);
@@ -780,7 +779,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
private void pickFile() {
List cameraIntents = new ArrayList<>();
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);
captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mImageToUploadUri);
cameraIntents.add(captureIntent);
@@ -880,9 +879,9 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
for (int i = 0; i < mFilesUploadLayout.getChildCount(); i++) {
String filePath = (String) mFilesUploadLayout.getChildAt(i).getTag();
String fileName = filePath.substring(filePath.lastIndexOf("/") + 1);
- String extension = LinphoneUtils.getExtensionFromFileName(fileName);
+ String extension = FileUtils.getExtensionFromFileName(fileName);
Content content = Factory.instance().createContent();
- if (LinphoneUtils.isExtensionImage(fileName)) {
+ if (FileUtils.isExtensionImage(fileName)) {
content.setType("image");
} else {
content.setType("file");
diff --git a/app/src/main/java/org/linphone/chat/GroupInfoAdapter.java b/app/src/main/java/org/linphone/chat/GroupInfoAdapter.java
index f658d9fbd..50971d969 100644
--- a/app/src/main/java/org/linphone/chat/GroupInfoAdapter.java
+++ b/app/src/main/java/org/linphone/chat/GroupInfoAdapter.java
@@ -29,15 +29,13 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
-import org.linphone.LinphoneUtils;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
import org.linphone.contacts.ContactAddress;
import org.linphone.contacts.LinphoneContact;
import org.linphone.core.ChatRoom;
import org.linphone.core.ChatRoomCapabilities;
import org.linphone.core.Participant;
-import org.linphone.ui.ContactAvatar;
+import org.linphone.views.ContactAvatar;
import java.util.ArrayList;
import java.util.List;
diff --git a/app/src/main/java/org/linphone/chat/GroupInfoFragment.java b/app/src/main/java/org/linphone/chat/GroupInfoFragment.java
index f4a2c564c..5c1a8244d 100644
--- a/app/src/main/java/org/linphone/chat/GroupInfoFragment.java
+++ b/app/src/main/java/org/linphone/chat/GroupInfoFragment.java
@@ -39,9 +39,9 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import org.linphone.LinphoneManager;
-import org.linphone.LinphoneUtils;
+import org.linphone.utils.LinphoneUtils;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.contacts.ContactAddress;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.LinphoneContact;
diff --git a/app/src/main/java/org/linphone/chat/ImdnFragment.java b/app/src/main/java/org/linphone/chat/ImdnFragment.java
index 8e0a7a984..8ee44d5da 100644
--- a/app/src/main/java/org/linphone/chat/ImdnFragment.java
+++ b/app/src/main/java/org/linphone/chat/ImdnFragment.java
@@ -33,10 +33,10 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
-import org.linphone.LinphoneUtils;
+import org.linphone.utils.FileUtils;
+import org.linphone.utils.LinphoneUtils;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.compatibility.Compatibility;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.LinphoneContact;
@@ -47,7 +47,7 @@ import org.linphone.core.ChatRoom;
import org.linphone.core.Core;
import org.linphone.core.ParticipantImdnState;
import org.linphone.fragments.FragmentsAvailable;
-import org.linphone.ui.ContactAvatar;
+import org.linphone.views.ContactAvatar;
public class ImdnFragment extends Fragment {
private LayoutInflater mInflater;
@@ -185,7 +185,7 @@ public class ImdnFragment extends Fragment {
String appData = mMessage.getAppdata();
if (appData != null) { // Something to display
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
}
diff --git a/app/src/main/java/org/linphone/contacts/ContactDetailsFragment.java b/app/src/main/java/org/linphone/contacts/ContactDetailsFragment.java
index 732532aa0..23098c2c9 100644
--- a/app/src/main/java/org/linphone/contacts/ContactDetailsFragment.java
+++ b/app/src/main/java/org/linphone/contacts/ContactDetailsFragment.java
@@ -36,10 +36,11 @@ import android.widget.TableLayout;
import android.widget.TextView;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
-import org.linphone.LinphoneUtils;
+import org.linphone.settings.LinphonePreferences;
+import org.linphone.utils.ImageUtils;
+import org.linphone.utils.LinphoneUtils;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.core.Address;
import org.linphone.core.ChatRoom;
import org.linphone.core.ChatRoomListenerStub;
@@ -173,7 +174,7 @@ public class ContactDetailsFragment extends Fragment implements OnClickListener
private void displayContact(LayoutInflater inflater, View view) {
ImageView contactPicture = view.findViewById(R.id.contact_picture);
if (contact.hasPhoto()) {
- LinphoneUtils.setImagePictureFromUri(getActivity(), contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
+ ImageUtils.setImagePictureFromUri(getActivity(), contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
} else {
contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
}
diff --git a/app/src/main/java/org/linphone/contacts/ContactEditorFragment.java b/app/src/main/java/org/linphone/contacts/ContactEditorFragment.java
index bdefdf4ab..3f0fc2d1a 100644
--- a/app/src/main/java/org/linphone/contacts/ContactEditorFragment.java
+++ b/app/src/main/java/org/linphone/contacts/ContactEditorFragment.java
@@ -30,7 +30,6 @@ import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
-import android.os.Environment;
import android.os.Parcelable;
import android.provider.ContactsContract.DisplayPhoto;
import android.provider.MediaStore;
@@ -49,9 +48,11 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
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.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.mediastream.Log;
import org.linphone.mediastream.Version;
@@ -269,7 +270,7 @@ public class ContactEditorFragment extends Fragment {
contactPicture = view.findViewById(R.id.contact_picture);
if (contact != null) {
- LinphoneUtils.setImagePictureFromUri(getActivity(), contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
+ ImageUtils.setImagePictureFromUri(getActivity(), contactPicture, contact.getPhotoUri(), contact.getThumbnailUri());
} else {
contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap());
}
@@ -340,7 +341,7 @@ public class ContactEditorFragment extends Fragment {
pickedPhotoForContactUri = null;
final List cameraIntents = new ArrayList<>();
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);
captureIntent.putExtra("outputX", PHOTO_SIZE);
captureIntent.putExtra("outputY", PHOTO_SIZE);
@@ -380,7 +381,7 @@ public class ContactEditorFragment extends Fragment {
String filePath = pickedPhotoForContactUri.getPath();
editContactPicture(filePath, null);
} 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()) {
pickedPhotoForContactUri = Uri.fromFile(file);
String filePath = pickedPhotoForContactUri.getPath();
diff --git a/app/src/main/java/org/linphone/contacts/ContactsListAdapter.java b/app/src/main/java/org/linphone/contacts/ContactsListAdapter.java
index 760546f5a..c68d56e26 100644
--- a/app/src/main/java/org/linphone/contacts/ContactsListAdapter.java
+++ b/app/src/main/java/org/linphone/contacts/ContactsListAdapter.java
@@ -32,13 +32,11 @@ import android.widget.RelativeLayout;
import android.widget.SectionIndexer;
import android.widget.TextView;
-import org.linphone.LinphoneUtils;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
import org.linphone.mediastream.Log;
-import org.linphone.ui.ContactAvatar;
-import org.linphone.ui.SelectableAdapter;
-import org.linphone.ui.SelectableHelper;
+import org.linphone.views.ContactAvatar;
+import org.linphone.utils.SelectableAdapter;
+import org.linphone.utils.SelectableHelper;
import java.util.ArrayList;
import java.util.LinkedHashMap;
diff --git a/app/src/main/java/org/linphone/contacts/ContactsListFragment.java b/app/src/main/java/org/linphone/contacts/ContactsListFragment.java
index d80484740..e7df2aa02 100644
--- a/app/src/main/java/org/linphone/contacts/ContactsListFragment.java
+++ b/app/src/main/java/org/linphone/contacts/ContactsListFragment.java
@@ -26,8 +26,6 @@ import android.os.Bundle;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
-import android.text.Editable;
-import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -40,9 +38,9 @@ import android.widget.TextView;
import org.linphone.LinphoneManager;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.fragments.FragmentsAvailable;
-import org.linphone.ui.SelectableHelper;
+import org.linphone.utils.SelectableHelper;
import java.util.ArrayList;
import java.util.List;
diff --git a/app/src/main/java/org/linphone/contacts/ContactsManager.java b/app/src/main/java/org/linphone/contacts/ContactsManager.java
index cf81ae878..034fba1ee 100644
--- a/app/src/main/java/org/linphone/contacts/ContactsManager.java
+++ b/app/src/main/java/org/linphone/contacts/ContactsManager.java
@@ -37,9 +37,9 @@ import android.provider.ContactsContract;
import android.provider.ContactsContract.Data;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.LinphoneService;
-import org.linphone.LinphoneUtils;
+import org.linphone.utils.LinphoneUtils;
import org.linphone.R;
import org.linphone.core.Address;
import org.linphone.core.Core;
diff --git a/app/src/main/java/org/linphone/contacts/SearchContactsListAdapter.java b/app/src/main/java/org/linphone/contacts/SearchContactsListAdapter.java
index f29830b7a..a01db0245 100644
--- a/app/src/main/java/org/linphone/contacts/SearchContactsListAdapter.java
+++ b/app/src/main/java/org/linphone/contacts/SearchContactsListAdapter.java
@@ -31,14 +31,14 @@ import android.widget.TextView;
import org.linphone.LinphoneManager;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.core.Address;
import org.linphone.core.Factory;
import org.linphone.core.PresenceBasicStatus;
import org.linphone.core.PresenceModel;
import org.linphone.core.ProxyConfig;
import org.linphone.core.SearchResult;
-import org.linphone.ui.ContactAvatar;
+import org.linphone.views.ContactAvatar;
import java.util.ArrayList;
import java.util.List;
diff --git a/app/src/main/java/org/linphone/firebase/FirebaseIdService.java b/app/src/main/java/org/linphone/firebase/FirebaseIdService.java
index 9841e9dd4..6dfd6e73c 100644
--- a/app/src/main/java/org/linphone/firebase/FirebaseIdService.java
+++ b/app/src/main/java/org/linphone/firebase/FirebaseIdService.java
@@ -22,8 +22,8 @@ package org.linphone.firebase;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.FirebaseInstanceIdService;
-import org.linphone.LinphonePreferences;
-import org.linphone.LinphoneUtils;
+import org.linphone.settings.LinphonePreferences;
+import org.linphone.utils.LinphoneUtils;
public class FirebaseIdService extends FirebaseInstanceIdService {
@Override
diff --git a/app/src/main/java/org/linphone/firebase/FirebaseMessaging.java b/app/src/main/java/org/linphone/firebase/FirebaseMessaging.java
index 16b4d6225..5d129e897 100644
--- a/app/src/main/java/org/linphone/firebase/FirebaseMessaging.java
+++ b/app/src/main/java/org/linphone/firebase/FirebaseMessaging.java
@@ -26,7 +26,7 @@ import com.google.firebase.messaging.RemoteMessage;
import org.linphone.LinphoneManager;
import org.linphone.LinphoneService;
-import org.linphone.LinphoneUtils;
+import org.linphone.utils.LinphoneUtils;
import static android.content.Intent.ACTION_MAIN;
diff --git a/app/src/main/java/org/linphone/fragments/AboutFragment.java b/app/src/main/java/org/linphone/fragments/AboutFragment.java
index d72132331..b4bf6064e 100644
--- a/app/src/main/java/org/linphone/fragments/AboutFragment.java
+++ b/app/src/main/java/org/linphone/fragments/AboutFragment.java
@@ -22,7 +22,6 @@ import android.app.Fragment;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
-import android.content.pm.PackageManager.NameNotFoundException;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
@@ -37,10 +36,10 @@ import android.widget.TextView;
import org.linphone.BuildConfig;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.LinphoneService;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.core.Core;
import org.linphone.core.Core.LogCollectionUploadState;
import org.linphone.core.CoreListenerStub;
diff --git a/app/src/main/java/org/linphone/fragments/DialerFragment.java b/app/src/main/java/org/linphone/fragments/DialerFragment.java
index fe671150c..f31e72307 100644
--- a/app/src/main/java/org/linphone/fragments/DialerFragment.java
+++ b/app/src/main/java/org/linphone/fragments/DialerFragment.java
@@ -34,14 +34,14 @@ import android.widget.LinearLayout;
import org.linphone.LinphoneManager;
import org.linphone.LinphoneService;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.contacts.ContactsManager;
import org.linphone.core.Core;
import org.linphone.mediastream.Log;
-import org.linphone.ui.AddressAware;
-import org.linphone.ui.AddressText;
-import org.linphone.ui.CallButton;
-import org.linphone.ui.EraseButton;
+import org.linphone.views.AddressAware;
+import org.linphone.views.AddressText;
+import org.linphone.views.CallButton;
+import org.linphone.views.EraseButton;
public class DialerFragment extends Fragment {
private static DialerFragment instance;
diff --git a/app/src/main/java/org/linphone/fragments/HistoryDetailFragment.java b/app/src/main/java/org/linphone/fragments/HistoryDetailFragment.java
index 0ca1406ff..e3e0e884b 100644
--- a/app/src/main/java/org/linphone/fragments/HistoryDetailFragment.java
+++ b/app/src/main/java/org/linphone/fragments/HistoryDetailFragment.java
@@ -31,10 +31,11 @@ import android.widget.RelativeLayout;
import android.widget.TextView;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
-import org.linphone.LinphoneUtils;
+import org.linphone.settings.LinphonePreferences;
+import org.linphone.utils.ImageUtils;
+import org.linphone.utils.LinphoneUtils;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.LinphoneContact;
import org.linphone.core.Address;
@@ -149,7 +150,7 @@ public class HistoryDetailFragment extends Fragment implements OnClickListener {
contact = ContactsManager.getInstance().findContactFromAddress(lAddress);
if (contact != null) {
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);
goToContact.setVisibility(View.VISIBLE);
} else {
diff --git a/app/src/main/java/org/linphone/fragments/HistoryListFragment.java b/app/src/main/java/org/linphone/fragments/HistoryListFragment.java
index 3db5e72a2..cf45b7c6b 100644
--- a/app/src/main/java/org/linphone/fragments/HistoryListFragment.java
+++ b/app/src/main/java/org/linphone/fragments/HistoryListFragment.java
@@ -36,14 +36,14 @@ import android.widget.TextView;
import org.linphone.LinphoneManager;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.call.CallHistoryAdapter;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.ContactsUpdatedListener;
import org.linphone.core.Address;
import org.linphone.core.Call;
import org.linphone.core.CallLog;
-import org.linphone.ui.SelectableHelper;
+import org.linphone.utils.SelectableHelper;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/app/src/main/java/org/linphone/fragments/StatusFragment.java b/app/src/main/java/org/linphone/fragments/StatusFragment.java
index a7d13fba7..0dbb86209 100644
--- a/app/src/main/java/org/linphone/fragments/StatusFragment.java
+++ b/app/src/main/java/org/linphone/fragments/StatusFragment.java
@@ -21,7 +21,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
import android.app.Activity;
import android.app.Dialog;
import android.app.Fragment;
-import android.app.KeyguardManager;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
@@ -39,10 +38,10 @@ import android.widget.ImageView;
import android.widget.TextView;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.LinphoneService;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.assistant.AssistantActivity;
import org.linphone.call.CallActivity;
import org.linphone.core.Call;
diff --git a/app/src/main/java/org/linphone/notifications/NotificationBroadcastReceiver.java b/app/src/main/java/org/linphone/notifications/NotificationBroadcastReceiver.java
index ca349482e..4e9cc6151 100644
--- a/app/src/main/java/org/linphone/notifications/NotificationBroadcastReceiver.java
+++ b/app/src/main/java/org/linphone/notifications/NotificationBroadcastReceiver.java
@@ -30,7 +30,7 @@ import android.os.Bundle;
import org.linphone.LinphoneManager;
import org.linphone.LinphoneService;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.compatibility.Compatibility;
import org.linphone.core.Address;
import org.linphone.core.Call;
diff --git a/app/src/main/java/org/linphone/notifications/NotificationsManager.java b/app/src/main/java/org/linphone/notifications/NotificationsManager.java
index 29d313e77..89a6c507b 100644
--- a/app/src/main/java/org/linphone/notifications/NotificationsManager.java
+++ b/app/src/main/java/org/linphone/notifications/NotificationsManager.java
@@ -29,11 +29,12 @@ import android.graphics.BitmapFactory;
import android.net.Uri;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
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.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.compatibility.Compatibility;
import org.linphone.contacts.ContactsManager;
import org.linphone.contacts.LinphoneContact;
@@ -135,7 +136,7 @@ public class NotificationsManager {
notifIntent.putExtra("ChatContactSipUri", conferenceAddress);
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);
NotifiableMessage notifMessage = new NotifiableMessage(message, fromName, timestamp);
if (notif == null) {
@@ -166,7 +167,7 @@ public class NotificationsManager {
fromName = fromSipUri;
}
- Bitmap bm = LinphoneUtils.getRoundBitmapFromUri(mContext, fromPictureUri);
+ Bitmap bm = ImageUtils.getRoundBitmapFromUri(mContext, fromPictureUri);
Notifiable notif = mChatNotifMap.get(fromSipUri);
NotifiableMessage notifMessage = new NotifiableMessage(message, fromName, timestamp);
if (notif == null) {
@@ -260,7 +261,7 @@ public class NotificationsManager {
LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(address);
Uri pictureUri = contact != null ? contact.getPhotoUri() : null;
- Bitmap bm = LinphoneUtils.getRoundBitmapFromUri(mContext, pictureUri);
+ Bitmap bm = ImageUtils.getRoundBitmapFromUri(mContext, pictureUri);
String name = LinphoneUtils.getAddressDisplayName(address);
boolean showAnswerAction = call.getState() == Call.State.IncomingReceived || call.getState() == Call.State.IncomingEarlyMedia;
diff --git a/app/src/main/java/org/linphone/purchase/InAppPurchaseActivity.java b/app/src/main/java/org/linphone/purchase/InAppPurchaseActivity.java
index a9960816b..f8434f6d5 100644
--- a/app/src/main/java/org/linphone/purchase/InAppPurchaseActivity.java
+++ b/app/src/main/java/org/linphone/purchase/InAppPurchaseActivity.java
@@ -30,7 +30,7 @@ import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Toast;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.R;
import org.linphone.mediastream.Log;
import org.linphone.xmlrpc.XmlRpcHelper;
diff --git a/app/src/main/java/org/linphone/purchase/InAppPurchaseFragment.java b/app/src/main/java/org/linphone/purchase/InAppPurchaseFragment.java
index a7ec5b56d..dee280ac8 100644
--- a/app/src/main/java/org/linphone/purchase/InAppPurchaseFragment.java
+++ b/app/src/main/java/org/linphone/purchase/InAppPurchaseFragment.java
@@ -31,7 +31,7 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.R;
import org.linphone.core.ProxyConfig;
diff --git a/app/src/main/java/org/linphone/purchase/InAppPurchaseHelper.java b/app/src/main/java/org/linphone/purchase/InAppPurchaseHelper.java
index a0f224c38..739750f3d 100644
--- a/app/src/main/java/org/linphone/purchase/InAppPurchaseHelper.java
+++ b/app/src/main/java/org/linphone/purchase/InAppPurchaseHelper.java
@@ -37,7 +37,7 @@ import com.android.vending.billing.IInAppBillingService;
import org.json.JSONException;
import org.json.JSONObject;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.mediastream.Log;
import org.linphone.xmlrpc.XmlRpcHelper;
import org.linphone.xmlrpc.XmlRpcListenerBase;
diff --git a/app/src/main/java/org/linphone/receivers/AccountEnableReceiver.java b/app/src/main/java/org/linphone/receivers/AccountEnableReceiver.java
index 4af64978d..431158444 100644
--- a/app/src/main/java/org/linphone/receivers/AccountEnableReceiver.java
+++ b/app/src/main/java/org/linphone/receivers/AccountEnableReceiver.java
@@ -24,7 +24,7 @@ import android.content.Context;
import android.content.Intent;
import android.util.Log;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
public class AccountEnableReceiver extends BroadcastReceiver {
private static final String TAG = "AccountEnableReceiver";
diff --git a/app/src/main/java/org/linphone/receivers/BootReceiver.java b/app/src/main/java/org/linphone/receivers/BootReceiver.java
index 66a34b5cb..8dc05ac08 100644
--- a/app/src/main/java/org/linphone/receivers/BootReceiver.java
+++ b/app/src/main/java/org/linphone/receivers/BootReceiver.java
@@ -24,7 +24,7 @@ import android.content.Context;
import android.content.Intent;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.LinphoneService;
import org.linphone.compatibility.Compatibility;
diff --git a/app/src/main/java/org/linphone/receivers/DozeReceiver.java b/app/src/main/java/org/linphone/receivers/DozeReceiver.java
index 03e26d622..157e53a96 100644
--- a/app/src/main/java/org/linphone/receivers/DozeReceiver.java
+++ b/app/src/main/java/org/linphone/receivers/DozeReceiver.java
@@ -25,9 +25,9 @@ import android.os.Build;
import android.os.PowerManager;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.LinphoneService;
-import org.linphone.LinphoneUtils;
+import org.linphone.utils.LinphoneUtils;
import org.linphone.R;
import org.linphone.core.Core;
import org.linphone.mediastream.Log;
diff --git a/app/src/main/java/org/linphone/receivers/KeepAliveReceiver.java b/app/src/main/java/org/linphone/receivers/KeepAliveReceiver.java
index 6c5517db5..897da851e 100644
--- a/app/src/main/java/org/linphone/receivers/KeepAliveReceiver.java
+++ b/app/src/main/java/org/linphone/receivers/KeepAliveReceiver.java
@@ -27,11 +27,10 @@ import android.content.Intent;
import android.os.SystemClock;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.LinphoneService;
-import org.linphone.LinphoneUtils;
+import org.linphone.utils.LinphoneUtils;
import org.linphone.R;
-import org.linphone.compatibility.Compatibility;
import org.linphone.core.Core;
import org.linphone.mediastream.Log;
diff --git a/app/src/main/java/org/linphone/receivers/OutgoingCallReceiver.java b/app/src/main/java/org/linphone/receivers/OutgoingCallReceiver.java
index 9fc3e0152..655f0ff35 100644
--- a/app/src/main/java/org/linphone/receivers/OutgoingCallReceiver.java
+++ b/app/src/main/java/org/linphone/receivers/OutgoingCallReceiver.java
@@ -24,7 +24,7 @@ import android.content.Context;
import android.content.Intent;
import android.util.Log;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
diff --git a/app/src/main/java/org/linphone/fragments/AccountPreferencesFragment.java b/app/src/main/java/org/linphone/settings/AccountPreferencesFragment.java
similarity index 98%
rename from app/src/main/java/org/linphone/fragments/AccountPreferencesFragment.java
rename to app/src/main/java/org/linphone/settings/AccountPreferencesFragment.java
index 3609fb46a..63f31c2db 100644
--- a/app/src/main/java/org/linphone/fragments/AccountPreferencesFragment.java
+++ b/app/src/main/java/org/linphone/settings/AccountPreferencesFragment.java
@@ -1,4 +1,4 @@
-package org.linphone.fragments;
+package org.linphone.settings;
/*
AccountPreferencesFragment.java
Copyright (C) 2017 Belledonne Communications, Grenoble, France
@@ -32,19 +32,18 @@ import android.preference.PreferenceScreen;
import android.view.WindowManager;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
-import org.linphone.LinphonePreferences.AccountBuilder;
-import org.linphone.LinphoneUtils;
+import org.linphone.settings.LinphonePreferences.AccountBuilder;
+import org.linphone.utils.LinphoneUtils;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.assistant.AssistantActivity;
import org.linphone.core.AccountCreator;
import org.linphone.core.AccountCreatorListener;
import org.linphone.core.CoreException;
import org.linphone.core.NatPolicy;
import org.linphone.core.ProxyConfig;
+import org.linphone.fragments.FragmentsAvailable;
import org.linphone.mediastream.Log;
-import org.linphone.ui.PreferencesListFragment;
import java.util.ArrayList;
import java.util.List;
diff --git a/app/src/main/java/org/linphone/LinphonePreferences.java b/app/src/main/java/org/linphone/settings/LinphonePreferences.java
similarity index 99%
rename from app/src/main/java/org/linphone/LinphonePreferences.java
rename to app/src/main/java/org/linphone/settings/LinphonePreferences.java
index f8855c61f..bbf9c5653 100644
--- a/app/src/main/java/org/linphone/LinphonePreferences.java
+++ b/app/src/main/java/org/linphone/settings/LinphonePreferences.java
@@ -1,4 +1,4 @@
-package org.linphone;
+package org.linphone.settings;
/*
LinphonePreferences.java
@@ -23,6 +23,9 @@ import android.Manifest;
import android.content.Context;
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.Address;
import org.linphone.core.AuthInfo;
@@ -1553,7 +1556,7 @@ public class LinphonePreferences {
}
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) {
diff --git a/app/src/main/java/org/linphone/ui/PreferencesListFragment.java b/app/src/main/java/org/linphone/settings/PreferencesListFragment.java
similarity index 99%
rename from app/src/main/java/org/linphone/ui/PreferencesListFragment.java
rename to app/src/main/java/org/linphone/settings/PreferencesListFragment.java
index e8899d097..7c2f9cc03 100644
--- a/app/src/main/java/org/linphone/ui/PreferencesListFragment.java
+++ b/app/src/main/java/org/linphone/settings/PreferencesListFragment.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.settings;
/*
PreferencesListFragment.java
diff --git a/app/src/main/java/org/linphone/fragments/SettingsFragment.java b/app/src/main/java/org/linphone/settings/SettingsFragment.java
similarity index 99%
rename from app/src/main/java/org/linphone/fragments/SettingsFragment.java
rename to app/src/main/java/org/linphone/settings/SettingsFragment.java
index 34577b5ec..f9956c839 100644
--- a/app/src/main/java/org/linphone/fragments/SettingsFragment.java
+++ b/app/src/main/java/org/linphone/settings/SettingsFragment.java
@@ -1,4 +1,4 @@
-package org.linphone.fragments;
+package org.linphone.settings;
/*
SettingsFragment.java
@@ -41,11 +41,11 @@ import android.preference.PreferenceScreen;
import android.provider.Settings;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
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.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.core.Address;
import org.linphone.core.Core;
import org.linphone.core.CoreException;
@@ -59,11 +59,11 @@ import org.linphone.core.ProxyConfig;
import org.linphone.core.RegistrationState;
import org.linphone.core.VideoDefinition;
import org.linphone.core.tools.OpenH264DownloadHelper;
+import org.linphone.fragments.FragmentsAvailable;
import org.linphone.mediastream.Log;
import org.linphone.mediastream.Version;
import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration;
-import org.linphone.ui.LedPreference;
-import org.linphone.ui.PreferencesListFragment;
+import org.linphone.views.LedPreference;
import java.io.File;
import java.util.ArrayList;
@@ -142,7 +142,7 @@ public class SettingsFragment extends PreferencesListFragment {
editor.apply();
File dir = new File(getActivity().getFilesDir().getAbsolutePath() + "shared_prefs");
- LinphoneUtils.recursiveFileRemoval(dir);
+ FileUtils.recursiveFileRemoval(dir);
}
// Inits the values or the listener on some settings
diff --git a/app/src/main/java/org/linphone/utils/FileUtils.java b/app/src/main/java/org/linphone/utils/FileUtils.java
new file mode 100644
index 000000000..68d42ef9e
--- /dev/null
+++ b/app/src/main/java/org/linphone/utils/FileUtils.java
@@ -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());
+ }
+ }
+}
diff --git a/app/src/main/java/org/linphone/utils/ImageUtils.java b/app/src/main/java/org/linphone/utils/ImageUtils.java
new file mode 100644
index 000000000..169da962f
--- /dev/null
+++ b/app/src/main/java/org/linphone/utils/ImageUtils.java
@@ -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;
+ }
+}
diff --git a/app/src/main/java/org/linphone/activities/LinphoneGenericActivity.java b/app/src/main/java/org/linphone/utils/LinphoneGenericActivity.java
similarity index 95%
rename from app/src/main/java/org/linphone/activities/LinphoneGenericActivity.java
rename to app/src/main/java/org/linphone/utils/LinphoneGenericActivity.java
index e55625741..792b9eddf 100644
--- a/app/src/main/java/org/linphone/activities/LinphoneGenericActivity.java
+++ b/app/src/main/java/org/linphone/utils/LinphoneGenericActivity.java
@@ -1,4 +1,4 @@
-package org.linphone.activities;
+package org.linphone.utils;
/*
LinphoneGenericActivity.java
@@ -24,6 +24,7 @@ import android.os.Bundle;
import org.linphone.LinphoneManager;
import org.linphone.LinphoneService;
+import org.linphone.LinphoneLauncherActivity;
public class LinphoneGenericActivity extends Activity {
diff --git a/app/src/main/java/org/linphone/ui/LinphoneMediaScanner.java b/app/src/main/java/org/linphone/utils/LinphoneMediaScanner.java
similarity index 98%
rename from app/src/main/java/org/linphone/ui/LinphoneMediaScanner.java
rename to app/src/main/java/org/linphone/utils/LinphoneMediaScanner.java
index bfc5358d9..9f9a9f444 100644
--- a/app/src/main/java/org/linphone/ui/LinphoneMediaScanner.java
+++ b/app/src/main/java/org/linphone/utils/LinphoneMediaScanner.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.utils;
import android.content.Context;
import android.media.MediaScannerConnection;
diff --git a/app/src/main/java/org/linphone/LinphoneUtils.java b/app/src/main/java/org/linphone/utils/LinphoneUtils.java
similarity index 60%
rename from app/src/main/java/org/linphone/LinphoneUtils.java
rename to app/src/main/java/org/linphone/utils/LinphoneUtils.java
index 6547d7eed..94c30b694 100644
--- a/app/src/main/java/org/linphone/LinphoneUtils.java
+++ b/app/src/main/java/org/linphone/utils/LinphoneUtils.java
@@ -1,4 +1,4 @@
-package org.linphone;
+package org.linphone.utils;
/*
LinphoneUtils.java
@@ -24,36 +24,24 @@ import android.app.AlertDialog;
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
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.NetworkInfo;
-import android.net.Uri;
import android.os.Build;
-import android.os.Environment;
import android.os.Handler;
import android.os.Looper;
-import android.provider.MediaStore;
-import android.provider.OpenableColumns;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import android.text.Html;
import android.text.Spanned;
-import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
-import android.widget.ImageView;
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.core.AccountCreator;
import org.linphone.core.Address;
@@ -72,29 +60,16 @@ import org.linphone.core.LoggingServiceListener;
import org.linphone.core.ProxyConfig;
import org.linphone.mediastream.Log;
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.util.ArrayList;
-import java.util.Arrays;
import java.util.Calendar;
import java.util.Collection;
-import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.regex.Pattern;
-import static android.view.View.GONE;
-import static android.view.View.VISIBLE;
-
/**
* Helpers.
*/
@@ -217,8 +192,8 @@ public final class LinphoneUtils {
return true;
}
- public static String timestampToHumanDate(Context context, long timestamp, int resFormat) {
- return LinphoneUtils.timestampToHumanDate(context, timestamp, context.getString(resFormat));
+ public static String timestampToHumanDate(Context context, long timestamp, int format) {
+ return timestampToHumanDate(context, timestamp, context.getString(format));
}
public static String timestampToHumanDate(Context context, long timestamp, String format) {
@@ -270,88 +245,9 @@ public final class LinphoneUtils {
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 getCalls(Core lc) {
- // return a modifiable list
- return new ArrayList<>(Arrays.asList(lc.getCalls()));
- }
-
public static final List getCallsInState(Core lc, Collection states) {
List foundCalls = new ArrayList<>();
- for (Call call : getCalls(lc)) {
+ for (Call call : lc.getCalls()) {
if (states.contains(call.getState())) {
foundCalls.add(call);
}
@@ -359,14 +255,6 @@ public final class LinphoneUtils {
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) {
if (call == null) {
return false;
@@ -413,44 +301,6 @@ public final class LinphoneUtils {
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) {
String username = sipAddress;
Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
@@ -496,12 +346,6 @@ public final class LinphoneUtils {
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) {
if (isOk) {
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) {
if (text == null) return null;
@@ -771,32 +492,6 @@ public final class LinphoneUtils {
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) {
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
View view = activity.getCurrentFocus();
@@ -806,56 +501,10 @@ public final class LinphoneUtils {
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
- 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));
- }
-
- 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;
+ private static Context getContext() {
+ if (context == null && LinphoneManager.isInstanciated())
+ context = LinphoneManager.getInstance().getContext();
+ return context;
}
}
diff --git a/app/src/main/java/org/linphone/ui/ListSelectionAdapter.java b/app/src/main/java/org/linphone/utils/ListSelectionAdapter.java
similarity index 98%
rename from app/src/main/java/org/linphone/ui/ListSelectionAdapter.java
rename to app/src/main/java/org/linphone/utils/ListSelectionAdapter.java
index 8bcc7a131..85bf6d0cd 100644
--- a/app/src/main/java/org/linphone/ui/ListSelectionAdapter.java
+++ b/app/src/main/java/org/linphone/utils/ListSelectionAdapter.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.
*/
-package org.linphone.ui;
+package org.linphone.utils;
import android.widget.BaseAdapter;
import android.widget.CompoundButton;
diff --git a/app/src/main/java/org/linphone/ui/ListSelectionHelper.java b/app/src/main/java/org/linphone/utils/ListSelectionHelper.java
similarity index 98%
rename from app/src/main/java/org/linphone/ui/ListSelectionHelper.java
rename to app/src/main/java/org/linphone/utils/ListSelectionHelper.java
index 5c4574a82..274855edf 100644
--- a/app/src/main/java/org/linphone/ui/ListSelectionHelper.java
+++ b/app/src/main/java/org/linphone/utils/ListSelectionHelper.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.
*/
-package org.linphone.ui;
+package org.linphone.utils;
import android.app.Dialog;
import android.content.Context;
@@ -27,7 +27,7 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
public class ListSelectionHelper {
private ImageView mEditButton, mSelectAllButton, mDeselectAllButton, mDeleteSelectionButton, mCancelButton;
diff --git a/app/src/main/java/org/linphone/ui/SelectableAdapter.java b/app/src/main/java/org/linphone/utils/SelectableAdapter.java
similarity index 99%
rename from app/src/main/java/org/linphone/ui/SelectableAdapter.java
rename to app/src/main/java/org/linphone/utils/SelectableAdapter.java
index fa1f490de..3267a1098 100644
--- a/app/src/main/java/org/linphone/ui/SelectableAdapter.java
+++ b/app/src/main/java/org/linphone/utils/SelectableAdapter.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.utils;
/*
SelectableAdapter.java
diff --git a/app/src/main/java/org/linphone/ui/SelectableHelper.java b/app/src/main/java/org/linphone/utils/SelectableHelper.java
similarity index 98%
rename from app/src/main/java/org/linphone/ui/SelectableHelper.java
rename to app/src/main/java/org/linphone/utils/SelectableHelper.java
index c58d89a3b..23f406389 100644
--- a/app/src/main/java/org/linphone/ui/SelectableHelper.java
+++ b/app/src/main/java/org/linphone/utils/SelectableHelper.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.
*/
-package org.linphone.ui;
+package org.linphone.utils;
import android.app.Dialog;
import android.content.Context;
@@ -28,7 +28,7 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import org.linphone.R;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
public class SelectableHelper {
private ImageView mEditButton, mSelectAllButton, mDeselectAllButton, mDeleteSelectionButton, mCancelButton;
diff --git a/app/src/main/java/org/linphone/ui/AddressAware.java b/app/src/main/java/org/linphone/views/AddressAware.java
similarity index 96%
rename from app/src/main/java/org/linphone/ui/AddressAware.java
rename to app/src/main/java/org/linphone/views/AddressAware.java
index e943a09ee..15dc50094 100644
--- a/app/src/main/java/org/linphone/ui/AddressAware.java
+++ b/app/src/main/java/org/linphone/views/AddressAware.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.views;
/*
AddressAwareWidget.java
diff --git a/app/src/main/java/org/linphone/ui/AddressText.java b/app/src/main/java/org/linphone/views/AddressText.java
similarity index 99%
rename from app/src/main/java/org/linphone/ui/AddressText.java
rename to app/src/main/java/org/linphone/views/AddressText.java
index 4a85202c1..09c46db55 100644
--- a/app/src/main/java/org/linphone/ui/AddressText.java
+++ b/app/src/main/java/org/linphone/views/AddressText.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.views;
/*
AddressView.java
diff --git a/app/src/main/java/org/linphone/ui/CallButton.java b/app/src/main/java/org/linphone/views/CallButton.java
similarity index 97%
rename from app/src/main/java/org/linphone/ui/CallButton.java
rename to app/src/main/java/org/linphone/views/CallButton.java
index abbceeb4f..e53a660b8 100644
--- a/app/src/main/java/org/linphone/ui/CallButton.java
+++ b/app/src/main/java/org/linphone/views/CallButton.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.views;
/*
CallButton.java
@@ -28,7 +28,7 @@ import android.widget.ImageView;
import android.widget.Toast;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.R;
import org.linphone.core.Call;
import org.linphone.core.CallLog;
diff --git a/app/src/main/java/org/linphone/ui/CallIncomingAnswerButton.java b/app/src/main/java/org/linphone/views/CallIncomingAnswerButton.java
similarity index 99%
rename from app/src/main/java/org/linphone/ui/CallIncomingAnswerButton.java
rename to app/src/main/java/org/linphone/views/CallIncomingAnswerButton.java
index baf8fc994..2fbb2b207 100644
--- a/app/src/main/java/org/linphone/ui/CallIncomingAnswerButton.java
+++ b/app/src/main/java/org/linphone/views/CallIncomingAnswerButton.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.views;
/*
CallIncomingAnswerButton.java
diff --git a/app/src/main/java/org/linphone/ui/CallIncomingButtonListener.java b/app/src/main/java/org/linphone/views/CallIncomingButtonListener.java
similarity index 96%
rename from app/src/main/java/org/linphone/ui/CallIncomingButtonListener.java
rename to app/src/main/java/org/linphone/views/CallIncomingButtonListener.java
index 738baba16..57dd3c7f0 100644
--- a/app/src/main/java/org/linphone/ui/CallIncomingButtonListener.java
+++ b/app/src/main/java/org/linphone/views/CallIncomingButtonListener.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.views;
/*
CallIncomingButtonListener.java
diff --git a/app/src/main/java/org/linphone/ui/CallIncomingDeclineButton.java b/app/src/main/java/org/linphone/views/CallIncomingDeclineButton.java
similarity index 99%
rename from app/src/main/java/org/linphone/ui/CallIncomingDeclineButton.java
rename to app/src/main/java/org/linphone/views/CallIncomingDeclineButton.java
index f775ccc01..022cfc446 100644
--- a/app/src/main/java/org/linphone/ui/CallIncomingDeclineButton.java
+++ b/app/src/main/java/org/linphone/views/CallIncomingDeclineButton.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.views;
/*
CallIncomingDeclineButton.java
diff --git a/app/src/main/java/org/linphone/ui/ContactAvatar.java b/app/src/main/java/org/linphone/views/ContactAvatar.java
similarity index 97%
rename from app/src/main/java/org/linphone/ui/ContactAvatar.java
rename to app/src/main/java/org/linphone/views/ContactAvatar.java
index 8447d5169..14fbe2fad 100644
--- a/app/src/main/java/org/linphone/ui/ContactAvatar.java
+++ b/app/src/main/java/org/linphone/views/ContactAvatar.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.views;
/*
ContactAvatar.java
@@ -26,7 +26,8 @@ import android.widget.ImageView;
import android.widget.TextView;
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.contacts.LinphoneContact;
import org.linphone.core.ChatRoomSecurityLevel;
@@ -120,7 +121,7 @@ public class ContactAvatar {
holder.init();
if (contact.getThumbnailUri() != null && contact.getThumbnailUri().getScheme().startsWith("http")) {
- bm = LinphoneUtils.downloadBitmap(contact.getThumbnailUri());
+ bm = ImageUtils.downloadBitmap(contact.getThumbnailUri());
} else {
if (contact.getThumbnailUri() != null) {
try {
diff --git a/app/src/main/java/org/linphone/ui/ContactSelectView.java b/app/src/main/java/org/linphone/views/ContactSelectView.java
similarity index 98%
rename from app/src/main/java/org/linphone/ui/ContactSelectView.java
rename to app/src/main/java/org/linphone/views/ContactSelectView.java
index 7f840b462..58a24b96b 100644
--- a/app/src/main/java/org/linphone/ui/ContactSelectView.java
+++ b/app/src/main/java/org/linphone/views/ContactSelectView.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.views;
/*
ContactSelectView.java
diff --git a/app/src/main/java/org/linphone/ui/Digit.java b/app/src/main/java/org/linphone/views/Digit.java
similarity index 98%
rename from app/src/main/java/org/linphone/ui/Digit.java
rename to app/src/main/java/org/linphone/views/Digit.java
index 83c5bea5e..64db7ca5d 100644
--- a/app/src/main/java/org/linphone/ui/Digit.java
+++ b/app/src/main/java/org/linphone/views/Digit.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.views;
/*
Digit.java
@@ -30,7 +30,7 @@ import android.widget.Button;
import android.widget.Toast;
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.LinphoneService;
import org.linphone.R;
import org.linphone.call.CallActivity;
diff --git a/app/src/main/java/org/linphone/ui/EraseButton.java b/app/src/main/java/org/linphone/views/EraseButton.java
similarity index 98%
rename from app/src/main/java/org/linphone/ui/EraseButton.java
rename to app/src/main/java/org/linphone/views/EraseButton.java
index dc6e7f441..2c35b7d94 100644
--- a/app/src/main/java/org/linphone/ui/EraseButton.java
+++ b/app/src/main/java/org/linphone/views/EraseButton.java
@@ -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
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.content.Context;
diff --git a/app/src/main/java/org/linphone/ui/LedPreference.java b/app/src/main/java/org/linphone/views/LedPreference.java
similarity index 98%
rename from app/src/main/java/org/linphone/ui/LedPreference.java
rename to app/src/main/java/org/linphone/views/LedPreference.java
index 418b9d521..62e7f9291 100644
--- a/app/src/main/java/org/linphone/ui/LedPreference.java
+++ b/app/src/main/java/org/linphone/views/LedPreference.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.views;
/*
LedPreference.java
diff --git a/app/src/main/java/org/linphone/ui/LinphoneOverlay.java b/app/src/main/java/org/linphone/views/LinphoneOverlay.java
similarity index 98%
rename from app/src/main/java/org/linphone/ui/LinphoneOverlay.java
rename to app/src/main/java/org/linphone/views/LinphoneOverlay.java
index 630703e2f..9e20ca845 100644
--- a/app/src/main/java/org/linphone/ui/LinphoneOverlay.java
+++ b/app/src/main/java/org/linphone/views/LinphoneOverlay.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.views;
/*
LinphoneOverlay.java
@@ -33,7 +33,7 @@ import android.view.WindowManager;
import org.linphone.LinphoneManager;
import org.linphone.LinphoneService;
-import org.linphone.activities.LinphoneActivity;
+import org.linphone.LinphoneActivity;
import org.linphone.core.Call;
import org.linphone.core.CallParams;
import org.linphone.mediastream.Version;
diff --git a/app/src/main/java/org/linphone/ui/Numpad.java b/app/src/main/java/org/linphone/views/Numpad.java
similarity index 99%
rename from app/src/main/java/org/linphone/ui/Numpad.java
rename to app/src/main/java/org/linphone/views/Numpad.java
index 15aa1a609..e2bf799c2 100644
--- a/app/src/main/java/org/linphone/ui/Numpad.java
+++ b/app/src/main/java/org/linphone/views/Numpad.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.views;
/*
NumpadView.java
diff --git a/app/src/main/java/org/linphone/ui/SlidingDrawer.java b/app/src/main/java/org/linphone/views/SlidingDrawer.java
similarity index 99%
rename from app/src/main/java/org/linphone/ui/SlidingDrawer.java
rename to app/src/main/java/org/linphone/views/SlidingDrawer.java
index 5ea9af842..cc795cb17 100644
--- a/app/src/main/java/org/linphone/ui/SlidingDrawer.java
+++ b/app/src/main/java/org/linphone/views/SlidingDrawer.java
@@ -1,4 +1,4 @@
-package org.linphone.ui;
+package org.linphone.views;
/*
* Copyright (C) 2008 The Android Open Source Project
diff --git a/app/src/main/java/org/linphone/xmlrpc/XmlRpcHelper.java b/app/src/main/java/org/linphone/xmlrpc/XmlRpcHelper.java
index a22a339a8..62aea2469 100644
--- a/app/src/main/java/org/linphone/xmlrpc/XmlRpcHelper.java
+++ b/app/src/main/java/org/linphone/xmlrpc/XmlRpcHelper.java
@@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import org.linphone.LinphoneManager;
-import org.linphone.LinphonePreferences;
+import org.linphone.settings.LinphonePreferences;
import org.linphone.core.XmlRpcArgType;
import org.linphone.core.XmlRpcRequest;
import org.linphone.core.XmlRpcRequestListener;
diff --git a/app/src/main/res/layout-land/call.xml b/app/src/main/res/layout-land/call.xml
index 538c2bcb0..9208c06a0 100644
--- a/app/src/main/res/layout-land/call.xml
+++ b/app/src/main/res/layout-land/call.xml
@@ -414,7 +414,7 @@
android:layout_above="@id/main_bar"
android:layout_marginBottom="60dp">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+