From 221707099581798636592af17237b5a3a6fd742b Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 20 Nov 2019 10:34:29 +0100 Subject: [PATCH] Reorganized code a bit more --- app/src/main/AndroidManifest.xml | 4 +- .../java/org/linphone/LinphoneContext.java | 1 + .../java/org/linphone/LinphoneManager.java | 2 +- .../activities/LinphoneGenericActivity.java | 2 +- .../activities/LinphoneLauncherActivity.java | 7 +- .../org/linphone/activities/MainActivity.java | 3 +- .../linphone/assistant/AssistantActivity.java | 2 +- .../{utils => call}/AndroidAudioManager.java | 2 +- .../java/org/linphone/call/CallActivity.java | 5 +- .../java/org/linphone/call/CallManager.java | 2 +- .../org/linphone/call/views/CallButton.java | 4 +- .../views/LinphoneGL2JNIViewOverlay.java | 2 +- .../views/LinphoneLinearLayoutManager.java | 2 +- .../{ => call}/views/LinphoneOverlay.java | 2 +- .../views/LinphoneTextureViewOverlay.java | 2 +- .../chat/ChatRoomCreationFragment.java | 2 +- .../org/linphone/chat/ChatRoomsFragment.java | 2 +- .../org/linphone/chat/GroupInfoFragment.java | 2 +- .../linphone/contacts/ContactsFragment.java | 2 +- .../DialerActivity.java | 9 +- .../{ => dialer}/views/AddressAware.java | 2 +- .../{ => dialer}/views/AddressText.java | 2 +- .../{ => dialer}/views/AddressType.java | 2 +- .../linphone/{ => dialer}/views/Digit.java | 2 +- .../{ => dialer}/views/EraseButton.java | 2 +- .../org/linphone/history/HistoryFragment.java | 2 +- .../notifications/NotificationsManager.java | 4 +- .../org/linphone/receivers/BootReceiver.java | 2 +- .../recording/RecordingsActivity.java | 2 +- .../{utils => service}/ActivityMonitor.java | 4 +- .../{ => service}/LinphoneService.java | 12 +- .../{utils => service}/ServiceWaitThread.java | 4 +- .../ServiceWaitThreadListener.java | 2 +- .../java/org/linphone/views/AsyncBitmap.java | 38 ---- .../org/linphone/views/BitmapWorkerTask.java | 166 ------------------ app/src/main/res/layout-land/dialer.xml | 4 +- .../main/res/layout-sw533dp-land/dialer.xml | 4 +- app/src/main/res/layout-sw533dp/dialer.xml | 4 +- app/src/main/res/layout/dialer.xml | 4 +- app/src/main/res/layout/numpad.xml | 24 +-- 40 files changed, 73 insertions(+), 272 deletions(-) rename app/src/main/java/org/linphone/{utils => call}/AndroidAudioManager.java (99%) rename app/src/main/java/org/linphone/{ => call}/views/LinphoneGL2JNIViewOverlay.java (99%) rename app/src/main/java/org/linphone/{ => call}/views/LinphoneLinearLayoutManager.java (98%) rename app/src/main/java/org/linphone/{ => call}/views/LinphoneOverlay.java (97%) rename app/src/main/java/org/linphone/{ => call}/views/LinphoneTextureViewOverlay.java (99%) rename app/src/main/java/org/linphone/{activities => dialer}/DialerActivity.java (98%) rename app/src/main/java/org/linphone/{ => dialer}/views/AddressAware.java (96%) rename app/src/main/java/org/linphone/{ => dialer}/views/AddressText.java (99%) rename app/src/main/java/org/linphone/{ => dialer}/views/AddressType.java (96%) rename app/src/main/java/org/linphone/{ => dialer}/views/Digit.java (99%) rename app/src/main/java/org/linphone/{ => dialer}/views/EraseButton.java (98%) rename app/src/main/java/org/linphone/{utils => service}/ActivityMonitor.java (98%) rename app/src/main/java/org/linphone/{ => service}/LinphoneService.java (95%) rename app/src/main/java/org/linphone/{utils => service}/ServiceWaitThread.java (95%) rename app/src/main/java/org/linphone/{utils => service}/ServiceWaitThreadListener.java (96%) delete mode 100644 app/src/main/java/org/linphone/views/AsyncBitmap.java delete mode 100644 app/src/main/java/org/linphone/views/BitmapWorkerTask.java diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a1d880262..039affcec 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -81,7 +81,7 @@ @@ -211,7 +211,7 @@ . */ -package org.linphone.utils; +package org.linphone.call; import static android.media.AudioManager.MODE_RINGTONE; import static android.media.AudioManager.STREAM_RING; diff --git a/app/src/main/java/org/linphone/call/CallActivity.java b/app/src/main/java/org/linphone/call/CallActivity.java index a56896d68..8c52ba2a3 100644 --- a/app/src/main/java/org/linphone/call/CallActivity.java +++ b/app/src/main/java/org/linphone/call/CallActivity.java @@ -49,9 +49,7 @@ import androidx.core.content.ContextCompat; import androidx.drawerlayout.widget.DrawerLayout; import java.lang.ref.WeakReference; import org.linphone.LinphoneManager; -import org.linphone.LinphoneService; import org.linphone.R; -import org.linphone.activities.DialerActivity; import org.linphone.activities.LinphoneGenericActivity; import org.linphone.chat.ChatActivity; import org.linphone.compatibility.Compatibility; @@ -67,8 +65,9 @@ import org.linphone.core.Core; import org.linphone.core.CoreListener; import org.linphone.core.CoreListenerStub; import org.linphone.core.tools.Log; +import org.linphone.dialer.DialerActivity; +import org.linphone.service.LinphoneService; import org.linphone.settings.LinphonePreferences; -import org.linphone.utils.AndroidAudioManager; import org.linphone.utils.LinphoneUtils; public class CallActivity extends LinphoneGenericActivity diff --git a/app/src/main/java/org/linphone/call/CallManager.java b/app/src/main/java/org/linphone/call/CallManager.java index 2c82893aa..87c06a9f9 100644 --- a/app/src/main/java/org/linphone/call/CallManager.java +++ b/app/src/main/java/org/linphone/call/CallManager.java @@ -35,11 +35,11 @@ import org.linphone.core.Core; import org.linphone.core.MediaEncryption; import org.linphone.core.ProxyConfig; import org.linphone.core.tools.Log; +import org.linphone.dialer.views.AddressType; import org.linphone.mediastream.Version; import org.linphone.settings.LinphonePreferences; import org.linphone.utils.FileUtils; import org.linphone.utils.LinphoneUtils; -import org.linphone.views.AddressType; /** Handle call updating, reinvites. */ public class CallManager { diff --git a/app/src/main/java/org/linphone/call/views/CallButton.java b/app/src/main/java/org/linphone/call/views/CallButton.java index 5fe29edd1..347289b2d 100644 --- a/app/src/main/java/org/linphone/call/views/CallButton.java +++ b/app/src/main/java/org/linphone/call/views/CallButton.java @@ -30,9 +30,9 @@ import org.linphone.core.Call; import org.linphone.core.CallLog; import org.linphone.core.Core; import org.linphone.core.ProxyConfig; +import org.linphone.dialer.views.AddressAware; +import org.linphone.dialer.views.AddressText; import org.linphone.settings.LinphonePreferences; -import org.linphone.views.AddressAware; -import org.linphone.views.AddressText; @SuppressLint("AppCompatCustomView") public class CallButton extends ImageView implements OnClickListener, AddressAware { diff --git a/app/src/main/java/org/linphone/views/LinphoneGL2JNIViewOverlay.java b/app/src/main/java/org/linphone/call/views/LinphoneGL2JNIViewOverlay.java similarity index 99% rename from app/src/main/java/org/linphone/views/LinphoneGL2JNIViewOverlay.java rename to app/src/main/java/org/linphone/call/views/LinphoneGL2JNIViewOverlay.java index 210462340..b18e7165a 100644 --- a/app/src/main/java/org/linphone/views/LinphoneGL2JNIViewOverlay.java +++ b/app/src/main/java/org/linphone/call/views/LinphoneGL2JNIViewOverlay.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.views; +package org.linphone.call.views; import android.content.Context; import android.content.Intent; diff --git a/app/src/main/java/org/linphone/views/LinphoneLinearLayoutManager.java b/app/src/main/java/org/linphone/call/views/LinphoneLinearLayoutManager.java similarity index 98% rename from app/src/main/java/org/linphone/views/LinphoneLinearLayoutManager.java rename to app/src/main/java/org/linphone/call/views/LinphoneLinearLayoutManager.java index a0d32a9cd..4694ac63d 100644 --- a/app/src/main/java/org/linphone/views/LinphoneLinearLayoutManager.java +++ b/app/src/main/java/org/linphone/call/views/LinphoneLinearLayoutManager.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.views; +package org.linphone.call.views; import android.content.Context; import android.util.AttributeSet; diff --git a/app/src/main/java/org/linphone/views/LinphoneOverlay.java b/app/src/main/java/org/linphone/call/views/LinphoneOverlay.java similarity index 97% rename from app/src/main/java/org/linphone/views/LinphoneOverlay.java rename to app/src/main/java/org/linphone/call/views/LinphoneOverlay.java index e1cc70ec2..0172957d1 100644 --- a/app/src/main/java/org/linphone/views/LinphoneOverlay.java +++ b/app/src/main/java/org/linphone/call/views/LinphoneOverlay.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.views; +package org.linphone.call.views; import android.view.WindowManager; diff --git a/app/src/main/java/org/linphone/views/LinphoneTextureViewOverlay.java b/app/src/main/java/org/linphone/call/views/LinphoneTextureViewOverlay.java similarity index 99% rename from app/src/main/java/org/linphone/views/LinphoneTextureViewOverlay.java rename to app/src/main/java/org/linphone/call/views/LinphoneTextureViewOverlay.java index aa010d457..c5b30ab0d 100644 --- a/app/src/main/java/org/linphone/views/LinphoneTextureViewOverlay.java +++ b/app/src/main/java/org/linphone/call/views/LinphoneTextureViewOverlay.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.views; +package org.linphone.call.views; import android.content.Context; import android.content.Intent; diff --git a/app/src/main/java/org/linphone/chat/ChatRoomCreationFragment.java b/app/src/main/java/org/linphone/chat/ChatRoomCreationFragment.java index 51b74362d..23b6eb2c4 100644 --- a/app/src/main/java/org/linphone/chat/ChatRoomCreationFragment.java +++ b/app/src/main/java/org/linphone/chat/ChatRoomCreationFragment.java @@ -43,6 +43,7 @@ import java.util.ArrayList; import java.util.List; import org.linphone.LinphoneManager; import org.linphone.R; +import org.linphone.call.views.LinphoneLinearLayoutManager; import org.linphone.contacts.ContactAddress; import org.linphone.contacts.ContactsManager; import org.linphone.contacts.ContactsUpdatedListener; @@ -62,7 +63,6 @@ import org.linphone.core.ProxyConfig; import org.linphone.core.SearchResult; import org.linphone.core.tools.Log; import org.linphone.settings.LinphonePreferences; -import org.linphone.views.LinphoneLinearLayoutManager; public class ChatRoomCreationFragment extends Fragment implements View.OnClickListener, diff --git a/app/src/main/java/org/linphone/chat/ChatRoomsFragment.java b/app/src/main/java/org/linphone/chat/ChatRoomsFragment.java index e8fee018c..da96af6cc 100644 --- a/app/src/main/java/org/linphone/chat/ChatRoomsFragment.java +++ b/app/src/main/java/org/linphone/chat/ChatRoomsFragment.java @@ -35,6 +35,7 @@ import java.util.List; import org.linphone.LinphoneManager; import org.linphone.R; import org.linphone.activities.MainActivity; +import org.linphone.call.views.LinphoneLinearLayoutManager; import org.linphone.contacts.ContactsManager; import org.linphone.contacts.ContactsUpdatedListener; import org.linphone.core.ChatMessage; @@ -44,7 +45,6 @@ import org.linphone.core.Core; import org.linphone.core.CoreListenerStub; import org.linphone.core.ProxyConfig; import org.linphone.utils.SelectableHelper; -import org.linphone.views.LinphoneLinearLayoutManager; public class ChatRoomsFragment extends Fragment implements ContactsUpdatedListener, diff --git a/app/src/main/java/org/linphone/chat/GroupInfoFragment.java b/app/src/main/java/org/linphone/chat/GroupInfoFragment.java index 0b9d27741..1b9a0976f 100644 --- a/app/src/main/java/org/linphone/chat/GroupInfoFragment.java +++ b/app/src/main/java/org/linphone/chat/GroupInfoFragment.java @@ -42,6 +42,7 @@ import androidx.recyclerview.widget.RecyclerView; import java.util.ArrayList; import org.linphone.LinphoneManager; import org.linphone.R; +import org.linphone.call.views.LinphoneLinearLayoutManager; import org.linphone.contacts.ContactAddress; import org.linphone.contacts.ContactsManager; import org.linphone.contacts.LinphoneContact; @@ -56,7 +57,6 @@ import org.linphone.core.Factory; import org.linphone.core.Participant; import org.linphone.core.tools.Log; import org.linphone.utils.LinphoneUtils; -import org.linphone.views.LinphoneLinearLayoutManager; public class GroupInfoFragment extends Fragment { private ImageView mConfirmButton; diff --git a/app/src/main/java/org/linphone/contacts/ContactsFragment.java b/app/src/main/java/org/linphone/contacts/ContactsFragment.java index d5bfd0183..0d6028d75 100644 --- a/app/src/main/java/org/linphone/contacts/ContactsFragment.java +++ b/app/src/main/java/org/linphone/contacts/ContactsFragment.java @@ -39,8 +39,8 @@ import java.util.ArrayList; import java.util.List; import org.linphone.LinphoneManager; import org.linphone.R; +import org.linphone.call.views.LinphoneLinearLayoutManager; import org.linphone.utils.SelectableHelper; -import org.linphone.views.LinphoneLinearLayoutManager; public class ContactsFragment extends Fragment implements OnItemClickListener, diff --git a/app/src/main/java/org/linphone/activities/DialerActivity.java b/app/src/main/java/org/linphone/dialer/DialerActivity.java similarity index 98% rename from app/src/main/java/org/linphone/activities/DialerActivity.java rename to app/src/main/java/org/linphone/dialer/DialerActivity.java index 02c850b98..56e0999bd 100644 --- a/app/src/main/java/org/linphone/activities/DialerActivity.java +++ b/app/src/main/java/org/linphone/dialer/DialerActivity.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.activities; +package org.linphone.dialer; import android.Manifest; import android.content.Intent; @@ -37,6 +37,7 @@ import java.util.ArrayList; import java.util.Collection; import org.linphone.LinphoneManager; import org.linphone.R; +import org.linphone.activities.MainActivity; import org.linphone.call.views.CallButton; import org.linphone.contacts.ContactsActivity; import org.linphone.contacts.ContactsManager; @@ -44,10 +45,10 @@ import org.linphone.core.Call; import org.linphone.core.Core; import org.linphone.core.CoreListenerStub; import org.linphone.core.tools.Log; +import org.linphone.dialer.views.AddressText; +import org.linphone.dialer.views.Digit; +import org.linphone.dialer.views.EraseButton; import org.linphone.settings.LinphonePreferences; -import org.linphone.views.AddressText; -import org.linphone.views.Digit; -import org.linphone.views.EraseButton; public class DialerActivity extends MainActivity implements AddressText.AddressChangedListener { private static final String ACTION_CALL_LINPHONE = "org.linphone.intent.action.CallLaunched"; diff --git a/app/src/main/java/org/linphone/views/AddressAware.java b/app/src/main/java/org/linphone/dialer/views/AddressAware.java similarity index 96% rename from app/src/main/java/org/linphone/views/AddressAware.java rename to app/src/main/java/org/linphone/dialer/views/AddressAware.java index f43ba4af1..61aa2a63e 100644 --- a/app/src/main/java/org/linphone/views/AddressAware.java +++ b/app/src/main/java/org/linphone/dialer/views/AddressAware.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.views; +package org.linphone.dialer.views; public interface AddressAware { void setAddressWidget(AddressText address); diff --git a/app/src/main/java/org/linphone/views/AddressText.java b/app/src/main/java/org/linphone/dialer/views/AddressText.java similarity index 99% rename from app/src/main/java/org/linphone/views/AddressText.java rename to app/src/main/java/org/linphone/dialer/views/AddressText.java index 8cdce79ff..ea199cafc 100644 --- a/app/src/main/java/org/linphone/views/AddressText.java +++ b/app/src/main/java/org/linphone/dialer/views/AddressText.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.views; +package org.linphone.dialer.views; import android.annotation.SuppressLint; import android.content.Context; diff --git a/app/src/main/java/org/linphone/views/AddressType.java b/app/src/main/java/org/linphone/dialer/views/AddressType.java similarity index 96% rename from app/src/main/java/org/linphone/views/AddressType.java rename to app/src/main/java/org/linphone/dialer/views/AddressType.java index 9c15cd4c7..fd3088a4a 100644 --- a/app/src/main/java/org/linphone/views/AddressType.java +++ b/app/src/main/java/org/linphone/dialer/views/AddressType.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.views; +package org.linphone.dialer.views; public interface AddressType { CharSequence getText(); diff --git a/app/src/main/java/org/linphone/views/Digit.java b/app/src/main/java/org/linphone/dialer/views/Digit.java similarity index 99% rename from app/src/main/java/org/linphone/views/Digit.java rename to app/src/main/java/org/linphone/dialer/views/Digit.java index 409164ffd..951b71210 100644 --- a/app/src/main/java/org/linphone/views/Digit.java +++ b/app/src/main/java/org/linphone/dialer/views/Digit.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.views; +package org.linphone.dialer.views; import android.annotation.SuppressLint; import android.app.AlertDialog; diff --git a/app/src/main/java/org/linphone/views/EraseButton.java b/app/src/main/java/org/linphone/dialer/views/EraseButton.java similarity index 98% rename from app/src/main/java/org/linphone/views/EraseButton.java rename to app/src/main/java/org/linphone/dialer/views/EraseButton.java index a75688e34..0fc2645af 100644 --- a/app/src/main/java/org/linphone/views/EraseButton.java +++ b/app/src/main/java/org/linphone/dialer/views/EraseButton.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.views; +package org.linphone.dialer.views; import android.annotation.SuppressLint; import android.content.Context; diff --git a/app/src/main/java/org/linphone/history/HistoryFragment.java b/app/src/main/java/org/linphone/history/HistoryFragment.java index ea73d2054..ede322fb7 100644 --- a/app/src/main/java/org/linphone/history/HistoryFragment.java +++ b/app/src/main/java/org/linphone/history/HistoryFragment.java @@ -38,6 +38,7 @@ import java.util.List; import org.linphone.LinphoneContext; import org.linphone.LinphoneManager; import org.linphone.R; +import org.linphone.call.views.LinphoneLinearLayoutManager; import org.linphone.contacts.ContactsManager; import org.linphone.contacts.ContactsUpdatedListener; import org.linphone.core.Address; @@ -45,7 +46,6 @@ import org.linphone.core.Call; import org.linphone.core.CallLog; import org.linphone.core.Core; import org.linphone.utils.SelectableHelper; -import org.linphone.views.LinphoneLinearLayoutManager; public class HistoryFragment extends Fragment implements OnClickListener, diff --git a/app/src/main/java/org/linphone/notifications/NotificationsManager.java b/app/src/main/java/org/linphone/notifications/NotificationsManager.java index f960c6f54..c16001487 100644 --- a/app/src/main/java/org/linphone/notifications/NotificationsManager.java +++ b/app/src/main/java/org/linphone/notifications/NotificationsManager.java @@ -33,9 +33,7 @@ import android.service.notification.StatusBarNotification; import java.io.File; import java.util.HashMap; import org.linphone.LinphoneManager; -import org.linphone.LinphoneService; import org.linphone.R; -import org.linphone.activities.DialerActivity; import org.linphone.call.CallActivity; import org.linphone.call.CallIncomingActivity; import org.linphone.call.CallOutgoingActivity; @@ -54,7 +52,9 @@ import org.linphone.core.Core; import org.linphone.core.CoreListenerStub; import org.linphone.core.Reason; import org.linphone.core.tools.Log; +import org.linphone.dialer.DialerActivity; import org.linphone.history.HistoryActivity; +import org.linphone.service.LinphoneService; import org.linphone.settings.LinphonePreferences; import org.linphone.utils.DeviceUtils; import org.linphone.utils.FileUtils; diff --git a/app/src/main/java/org/linphone/receivers/BootReceiver.java b/app/src/main/java/org/linphone/receivers/BootReceiver.java index b7a3e53be..a990d871b 100644 --- a/app/src/main/java/org/linphone/receivers/BootReceiver.java +++ b/app/src/main/java/org/linphone/receivers/BootReceiver.java @@ -22,8 +22,8 @@ package org.linphone.receivers; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import org.linphone.LinphoneService; import org.linphone.compatibility.Compatibility; +import org.linphone.service.LinphoneService; import org.linphone.settings.LinphonePreferences; public class BootReceiver extends BroadcastReceiver { diff --git a/app/src/main/java/org/linphone/recording/RecordingsActivity.java b/app/src/main/java/org/linphone/recording/RecordingsActivity.java index 480e0e4c4..f1a270d0f 100644 --- a/app/src/main/java/org/linphone/recording/RecordingsActivity.java +++ b/app/src/main/java/org/linphone/recording/RecordingsActivity.java @@ -37,9 +37,9 @@ import java.util.List; import org.linphone.LinphoneManager; import org.linphone.R; import org.linphone.activities.MainActivity; +import org.linphone.call.views.LinphoneLinearLayoutManager; import org.linphone.utils.FileUtils; import org.linphone.utils.SelectableHelper; -import org.linphone.views.LinphoneLinearLayoutManager; public class RecordingsActivity extends MainActivity implements SelectableHelper.DeleteListener, RecordingViewHolder.ClickListener { diff --git a/app/src/main/java/org/linphone/utils/ActivityMonitor.java b/app/src/main/java/org/linphone/service/ActivityMonitor.java similarity index 98% rename from app/src/main/java/org/linphone/utils/ActivityMonitor.java rename to app/src/main/java/org/linphone/service/ActivityMonitor.java index 0a545a5d2..a5eef5e21 100644 --- a/app/src/main/java/org/linphone/utils/ActivityMonitor.java +++ b/app/src/main/java/org/linphone/service/ActivityMonitor.java @@ -17,15 +17,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.utils; +package org.linphone.service; import android.app.Activity; import android.app.Application; import android.os.Bundle; import java.util.ArrayList; import org.linphone.LinphoneManager; -import org.linphone.LinphoneService; import org.linphone.core.tools.Log; +import org.linphone.utils.LinphoneUtils; /** * Believe me or not, but knowing the application visibility state on Android is a nightmare. After diff --git a/app/src/main/java/org/linphone/LinphoneService.java b/app/src/main/java/org/linphone/service/LinphoneService.java similarity index 95% rename from app/src/main/java/org/linphone/LinphoneService.java rename to app/src/main/java/org/linphone/service/LinphoneService.java index 8920b4ad4..73c440809 100644 --- a/app/src/main/java/org/linphone/LinphoneService.java +++ b/app/src/main/java/org/linphone/service/LinphoneService.java @@ -17,22 +17,24 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone; +package org.linphone.service; import android.app.Application; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.view.WindowManager; +import org.linphone.LinphoneContext; +import org.linphone.LinphoneManager; +import org.linphone.R; +import org.linphone.call.views.LinphoneGL2JNIViewOverlay; +import org.linphone.call.views.LinphoneOverlay; +import org.linphone.call.views.LinphoneTextureViewOverlay; import org.linphone.core.Call; import org.linphone.core.Core; import org.linphone.core.tools.Log; import org.linphone.mediastream.Version; import org.linphone.settings.LinphonePreferences; -import org.linphone.utils.ActivityMonitor; -import org.linphone.views.LinphoneGL2JNIViewOverlay; -import org.linphone.views.LinphoneOverlay; -import org.linphone.views.LinphoneTextureViewOverlay; public final class LinphoneService extends Service { private static LinphoneService sInstance; diff --git a/app/src/main/java/org/linphone/utils/ServiceWaitThread.java b/app/src/main/java/org/linphone/service/ServiceWaitThread.java similarity index 95% rename from app/src/main/java/org/linphone/utils/ServiceWaitThread.java rename to app/src/main/java/org/linphone/service/ServiceWaitThread.java index 817607796..60e767e83 100644 --- a/app/src/main/java/org/linphone/utils/ServiceWaitThread.java +++ b/app/src/main/java/org/linphone/service/ServiceWaitThread.java @@ -17,9 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.utils; +package org.linphone.service; -import org.linphone.LinphoneService; +import org.linphone.utils.LinphoneUtils; public class ServiceWaitThread extends Thread { private ServiceWaitThreadListener mListener; diff --git a/app/src/main/java/org/linphone/utils/ServiceWaitThreadListener.java b/app/src/main/java/org/linphone/service/ServiceWaitThreadListener.java similarity index 96% rename from app/src/main/java/org/linphone/utils/ServiceWaitThreadListener.java rename to app/src/main/java/org/linphone/service/ServiceWaitThreadListener.java index 59a9762c4..3f4f19552 100644 --- a/app/src/main/java/org/linphone/utils/ServiceWaitThreadListener.java +++ b/app/src/main/java/org/linphone/service/ServiceWaitThreadListener.java @@ -17,7 +17,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package org.linphone.utils; +package org.linphone.service; public interface ServiceWaitThreadListener { void onServiceReady(); diff --git a/app/src/main/java/org/linphone/views/AsyncBitmap.java b/app/src/main/java/org/linphone/views/AsyncBitmap.java deleted file mode 100644 index 86ef3e676..000000000 --- a/app/src/main/java/org/linphone/views/AsyncBitmap.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2010-2019 Belledonne Communications SARL. - * - * This file is part of linphone-android - * (see https://www.linphone.org). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.linphone.views; - -import android.content.res.Resources; -import android.graphics.Bitmap; -import android.graphics.drawable.BitmapDrawable; -import java.lang.ref.WeakReference; - -class AsyncBitmap extends BitmapDrawable { - private final WeakReference mBitmapWorkerTaskReference; - - public AsyncBitmap(Resources res, Bitmap bitmap, BitmapWorkerTask bitmapWorkerTask) { - super(res, bitmap); - mBitmapWorkerTaskReference = new WeakReference<>(bitmapWorkerTask); - } - - public BitmapWorkerTask getBitmapWorkerTask() { - return mBitmapWorkerTaskReference.get(); - } -} diff --git a/app/src/main/java/org/linphone/views/BitmapWorkerTask.java b/app/src/main/java/org/linphone/views/BitmapWorkerTask.java deleted file mode 100644 index 66004db8f..000000000 --- a/app/src/main/java/org/linphone/views/BitmapWorkerTask.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright (c) 2010-2019 Belledonne Communications SARL. - * - * This file is part of linphone-android - * (see https://www.linphone.org). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package org.linphone.views; - -import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Matrix; -import android.graphics.drawable.Drawable; -import android.media.ExifInterface; -import android.net.Uri; -import android.os.AsyncTask; -import android.provider.MediaStore; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.RelativeLayout; -import java.io.IOException; -import java.lang.ref.WeakReference; -import org.linphone.LinphoneContext; -import org.linphone.core.tools.Log; -import org.linphone.utils.FileUtils; -import org.linphone.utils.ImageUtils; - -public class BitmapWorkerTask extends AsyncTask { - private String path; - - private final WeakReference mImageViewReference; - private final Bitmap mDefaultBitmap; - private final int mImageViewHeight; - - public BitmapWorkerTask(ImageView imageView, Bitmap defaultBitmap) { - mDefaultBitmap = defaultBitmap; - path = null; - // Use a WeakReference to ensure the ImageView can be garbage collected - mImageViewReference = new WeakReference<>(imageView); - mImageViewHeight = imageView.getMeasuredHeight(); - } - - private static BitmapWorkerTask getBitmapWorkerTask(ImageView imageView) { - if (imageView != null) { - final Drawable drawable = imageView.getDrawable(); - if (drawable instanceof AsyncBitmap) { - final AsyncBitmap asyncDrawable = (AsyncBitmap) drawable; - return asyncDrawable.getBitmapWorkerTask(); - } - } - return null; - } - - private Bitmap scaleToFitHeight(Bitmap b, int height) { - float factor = height / (float) b.getHeight(); - int dstWidth = (int) (b.getWidth() * factor); - if (dstWidth > 0 && height > 0) { - return Bitmap.createScaledBitmap(b, dstWidth, height, true); - } - return b; - } - - // Decode image in background. - @Override - protected Bitmap doInBackground(String... params) { - Context context = LinphoneContext.instance().getApplicationContext(); - path = params[0]; - Bitmap bm = null; - Bitmap thumbnail = null; - if (FileUtils.isExtensionImage(path)) { - if (path.startsWith("content")) { - try { - bm = - MediaStore.Images.Media.getBitmap( - context.getContentResolver(), Uri.parse(path)); - } catch (IOException e) { - Log.e(e); - } - } else { - bm = BitmapFactory.decodeFile(path); - } - - ImageView imageView = mImageViewReference.get(); - - try { - // Rotate the bitmap if possible/needed, using EXIF data - Matrix matrix = new Matrix(); - ExifInterface exif = new ExifInterface(path); - int width = bm.getWidth(); - int height = bm.getHeight(); - - int pictureOrientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, 0); - if (pictureOrientation == 6 || pictureOrientation == 3 || pictureOrientation == 8) { - if (imageView != null) { - float factor = (float) mImageViewHeight / height; - matrix.postScale(factor, factor); - } - if (pictureOrientation == 6) { - matrix.preRotate(90); - } else if (pictureOrientation == 3) { - matrix.preRotate(180); - } else { - matrix.preRotate(270); - } - thumbnail = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true); - if (thumbnail != bm) { - bm.recycle(); - bm = null; - } - } - } catch (Exception e) { - Log.e(e); - } - - if (thumbnail == null && bm != null) { - if (imageView == null) return bm; - thumbnail = scaleToFitHeight(bm, mImageViewHeight); - if (thumbnail != bm) { - bm.recycle(); - } - } - return thumbnail; - } else { - return mDefaultBitmap; - } - } - - // Once complete, see if ImageView is still around and set bitmap. - @Override - protected void onPostExecute(Bitmap bitmap) { - if (isCancelled()) { - bitmap.recycle(); - bitmap = null; - } - if (mImageViewReference != null && bitmap != null) { - Context context = LinphoneContext.instance().getApplicationContext(); - final ImageView imageView = mImageViewReference.get(); - final BitmapWorkerTask bitmapWorkerTask = getBitmapWorkerTask(imageView); - if (this == bitmapWorkerTask && imageView != null) { - imageView.setImageBitmap(bitmap); - if (bitmap.getWidth() > ImageUtils.dpToPixels(context, 300)) { - RelativeLayout.LayoutParams params = - new RelativeLayout.LayoutParams( - bitmap.getWidth(), ViewGroup.LayoutParams.WRAP_CONTENT); - int margin = (int) ImageUtils.dpToPixels(context, 5); - params.setMargins(margin, margin, margin, margin); - imageView.setLayoutParams(params); - imageView.invalidate(); - } - } - } - } -} diff --git a/app/src/main/res/layout-land/dialer.xml b/app/src/main/res/layout-land/dialer.xml index 1951f879f..341bf2ee8 100644 --- a/app/src/main/res/layout-land/dialer.xml +++ b/app/src/main/res/layout-land/dialer.xml @@ -11,7 +11,7 @@ android:layout_marginBottom="10dp" android:background="?attr/lighToolbarBackgroundColor"> - - - - - - - - - - - - - - - - - - - -